DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়। DAX-এ Filtering Functions ব্যবহার করে আপনি ডেটার মধ্যে নির্দিষ্ট শর্ত অনুসারে ফলাফল বা মান বের করতে পারেন। এই ফাংশনগুলি calculations, measures, tables, এবং columns এ ব্যবহৃত হয়, যেখানে নির্দিষ্ট শর্তের মাধ্যমে ডেটা ফিল্টার করতে হয়।
ফিল্টারিং ফাংশনগুলি সাধারণত CALCULATE, FILTER, ALL, RELATED, ISBLANK ইত্যাদি ব্যবহৃত হয়, যা ডেটার মধ্যে নির্দিষ্ট শর্তে বা ক্রাইটেরিয়াতে কাজ করে। এখানে আমরা DAX-এর কিছু জনপ্রিয় ফিল্টারিং ফাংশন এবং তাদের ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করব।
CALCULATE ফাংশনটি DAX-এর সবচেয়ে শক্তিশালী এবং বহুল ব্যবহৃত ফাংশনগুলির মধ্যে একটি। এটি একটি ক্যালকুলেশনকে একটি বা একাধিক ফিল্টারের ভিত্তিতে পরিবর্তন করতে ব্যবহৃত হয়।
CALCULATE(<expression>, <filter1>, <filter2>, ...)
CALCULATE ফাংশনটি একটি এক্সপ্রেশন (যেমন SUM()
, AVERAGE()
) এবং একটি বা একাধিক ফিল্টার শর্ত নিয়ে কাজ করে।
উদাহরণ: যদি আপনি Sales টেবিলের বিক্রয়ের মোট পরিমাণ জানাতে চান এবং শুধুমাত্র Region "East" এর জন্য তা দেখতে চান:
Total Sales East = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East")
এটি Sales[Amount] কলামের মোট যোগফল বের করবে, তবে শুধুমাত্র "East" অঞ্চলের জন্য।
FILTER ফাংশনটি একটি টেবিলের মধ্যে একটি নির্দিষ্ট শর্তের ভিত্তিতে ডেটা ফিল্টার করতে ব্যবহৃত হয়। এটি একটি নতুন টেবিল তৈরি করে, যেটি ঐ শর্ত পূর্ণ করে।
FILTER(<table>, <condition>)
FILTER ফাংশনটি একটি টেবিলের মধ্যে শর্তানুসারে মান ফিল্টার করে।
উদাহরণ: আপনি যদি Sales টেবিলের মধ্যে শুধুমাত্র বিক্রয়ের পরিমাণ 1000 এর বেশি আছে এমন রেকর্ড ফিল্টার করতে চান:
High Sales = FILTER(Sales, Sales[Amount] > 1000)
এটি শুধুমাত্র সেই সারিগুলি ফিরিয়ে দেবে যেখানে Sales[Amount] 1000 এর বেশি।
ALL ফাংশনটি একটি টেবিল বা কলাম থেকে সমস্ত ফিল্টার সরিয়ে দেয় এবং তারপরে সেই টেবিল বা কলামের জন্য গণনা করে। এটি বিশেষ করে যখন আপনি টেবিলের overall total দেখতে চান এবং ফিল্টারিং প্রভাব এড়াতে চান।
ALL(<table_or_column>)
ALL ফাংশনটি ফিল্টারিং বাদ দিয়ে একটি সম্পূর্ণ টেবিল বা কলাম ফেরত দেয়।
উদাহরণ: আপনি যদি Sales টেবিলের মোট বিক্রয় জানতে চান, তবে সমস্ত ফিল্টার বাদ দিয়ে এটি ব্যবহার করতে পারেন:
Total Sales All = CALCULATE(SUM(Sales[Amount]), ALL(Sales))
এটি Sales[Amount] কলামের মোট যোগফল ফেরত দেবে, তবে কোন ফিল্টার প্রভাব ফেলবে না।
ALLSELECTED ফাংশনটি ALL এর মতো কাজ করে, তবে এটি যে ফিল্টারগুলি রিপোর্ট বা ভিজ্যুয়ালাইজেশন থেকে নির্বাচিত হয়েছে তা বজায় রাখে। এটি সাধারণত dynamic reporting এর জন্য ব্যবহৃত হয়।
ALLSELECTED(<table_or_column>)
এটি ফিল্টারিং প্রসেসের মধ্যে নির্বাচিত ফিল্টার বজায় রেখে ডেটা ফেরত দেয়।
উদাহরণ: আপনি যদি নির্বাচিত অঞ্চলগুলির জন্য Sales টেবিলের বিক্রয়ের মোট পরিমাণ জানতে চান:
Sales by Selected Region = CALCULATE(SUM(Sales[Amount]), ALLSELECTED(Sales[Region]))
এটি শুধুমাত্র নির্বাচিত Region-এর জন্য মোট বিক্রয় প্রদর্শন করবে।
RELATED ফাংশনটি সম্পর্কিত টেবিল থেকে একটি মান ফিরিয়ে আনে, যেখানে সম্পর্কিত কলাম দুটি টেবিলের মধ্যে সম্পর্কযুক্ত থাকে। এটি সাধারণত একটি one-to-many সম্পর্কের জন্য ব্যবহৃত হয়।
RELATED(<column>)
RELATED ফাংশনটি অন্য টেবিলের একটি কলামের মান ফিরিয়ে আনে, যখন দুটি টেবিলের মধ্যে সম্পর্ক তৈরি করা থাকে।
উদাহরণ: ধরা যাক, আপনার কাছে Sales টেবিল এবং Customer টেবিল রয়েছে। আপনি যদি Customer[Region] কলামের মান Sales টেবিলের সাথে সম্পর্কযুক্ত দেখতে চান:
Customer Region = RELATED(Customer[Region])
এটি Sales টেবিলের প্রতিটি সারির জন্য Customer[Region] কলামের মান ফেরত দেবে।
ISBLANK ফাংশনটি একটি মান পরীক্ষা করে এবং যদি সেটি শূন্য বা খালি থাকে, তবে TRUE ফেরত দেয়, অন্যথায় FALSE ফেরত দেয়।
ISBLANK(<value>)
ISBLANK ফাংশনটি সাধারণত conditional logic বা filtering ফাংশনগুলির সাথে ব্যবহৃত হয়।
উদাহরণ: আপনি যদি জানাতে চান যে কোন Sales রেকর্ডে পরিমাণ শূন্য বা খালি আছে:
No Sales = IF(ISBLANK(Sales[Amount]), "No Sales", "Sales Exist")
এটি যদি Sales[Amount] কলামে কোনো মান না থাকে, তাহলে "No Sales" দেখাবে, অন্যথায় "Sales Exist" দেখাবে।
DAX Filtering Functions ডেটার উপর শর্ত ভিত্তিক বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরিতে সহায়ক। CALCULATE, FILTER, ALL, ALLSELECTED, RELATED, এবং ISBLANK ফাংশনগুলি ডেটার বিভিন্ন শর্ত অনুসারে পরিবর্তন করতে সক্ষম, এবং এটির মাধ্যমে আপনি আপনার বিশ্লেষণকে আরও শক্তিশালী এবং গতিশীল করতে পারেন। CALCULATE এবং FILTER হল সবচেয়ে জনপ্রিয় ফাংশন, যা ব্যবহৃত শর্ত অনুযায়ী গণনা করতে সাহায্য করে এবং ডেটার উপর আরও গভীর বিশ্লেষণ প্রদান করে।
DAX (Data Analysis Expressions) একটি শক্তিশালী এক্সপ্রেশন ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX-এ CALCULATE ফাংশনটি অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি filter context তৈরি করে এবং কোনো নির্দিষ্ট কন্ডিশনের ভিত্তিতে ক্যালকুলেশন পরিবর্তন করতে ব্যবহৃত হয়। CALCULATE ফাংশনটি মূলত condition-based calculations বা filter-based calculations করার জন্য ব্যবহৃত হয়, যা বিশ্লেষণ এবং রিপোর্টে পরিবর্তনশীলতা নিয়ে আসে।
এই প্রবন্ধে আমরা CALCULATE ফাংশনের মাধ্যমে Filter যোগ করার পদ্ধতি এবং এর ব্যবহার নিয়ে আলোচনা করব।
CALCULATE ফাংশনটি DAX-এর একটি অত্যন্ত শক্তিশালী ফাংশন, যা একটি কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহার করা হয়। এটি কোনো নির্দিষ্ট filter context-এ ক্যালকুলেশন করতে পারে।
CALCULATE(<expression>, <filter1>, <filter2>, ...)
CALCULATE ফাংশনটি মূলত ফিল্টার শর্তে aggregation বা কাস্টম ক্যালকুলেশন করতে ব্যবহৃত হয়। এই ফাংশনটি ফিল্টার কন্ডিশন অনুযায়ী ডেটার সিলেকশন পরিবর্তন করতে পারে এবং সংশ্লিষ্ট ফলাফল রিটার্ন করে।
CALCULATE ফাংশন ব্যবহার করে আপনি ডেটার উপর filtering প্রয়োগ করতে পারেন। এটি filter context পরিবর্তন করে ক্যালকুলেশনটি প্রভাবিত করে।
ধরা যাক, আপনি Sales টেবিলের Amount এর যোগফল চান, কিন্তু আপনি শুধুমাত্র East অঞ্চলের বিক্রয় ক্যালকুলেট করতে চান। তখন আপনি CALCULATE ফাংশন ব্যবহার করবেন এইভাবে:
Total Sales East = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East")
এই ফর্মুলাটি Sales টেবিলের Amount কলামের যোগফল গণনা করবে, তবে শুধুমাত্র Sales[Region] কলামে "East" মান থাকলে।
আপনি একাধিক filter যোগ করতে পারেন, এবং তখন ক্যালকুলেশন শুধুমাত্র উল্লিখিত শর্তগুলির উপর ভিত্তি করে হবে।
যেমন, আপনি যদি East অঞ্চলের sales এর যোগফল চান, যেখানে Sales[Amount] 1000 এর বেশি, তাহলে এটি করা হবে:
Total Sales East > 1000 = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East", Sales[Amount] > 1000)
এই ফর্মুলাটি Sales টেবিলের Amount এর যোগফল গণনা করবে, যেখানে Region "East" এবং Amount 1000 এর বেশি।
ধরা যাক, আপনি Sales টেবিলের Amount এর যোগফল চান, তবে শুধুমাত্র 2023 সালের January মাসের বিক্রয় দেখতে চান। আপনি CALCULATE ফাংশনে DATE ফিল্টার যোগ করতে পারেন:
Total Sales Jan 2023 = CALCULATE(SUM(Sales[Amount]), YEAR(Sales[Date]) = 2023, MONTH(Sales[Date]) = 1)
এই ফর্মুলাটি Sales টেবিলের Amount কলামের যোগফল কেবলমাত্র 2023 সালের January মাসের ডেটা নিয়ে গণনা করবে।
ফিল্টারের মধ্যে logical expressions যেমন AND, OR, বা NOT ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি যদি চান যে Amount 1000 এর বেশি এবং Region "East" না হলে Total Sales গণনা হোক:
Total Sales Excluding East = CALCULATE(SUM(Sales[Amount]), Sales[Amount] > 1000, Sales[Region] <> "East")
এই ফর্মুলাটি Sales টেবিলের Amount এর যোগফল গণনা করবে, তবে যেখানে Amount 1000 এর বেশি এবং Region "East" নয়।
ALL ফাংশনটি ব্যবহৃত হয় ফিল্টার মুছে ফেলতে, যা এক্সপ্রেশন বা ক্যালকুলেশনের জন্য সমস্ত ফিল্টার অপসারণ করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি যদি সমস্ত Sales[Region] এর উপর ভিত্তি করে একটি ক্যালকুলেশন করতে চান, তবে:
Total Sales All Regions = CALCULATE(SUM(Sales[Amount]), ALL(Sales[Region]))
এটি Sales টেবিলের Amount এর যোগফল গণনা করবে, যেখানে Region কলামে কোনো ফিল্টার প্রয়োগ করা হবে না।
ALLEXCEPT ফাংশনটি ব্যবহৃত হয় কিছু নির্দিষ্ট কলামের ফিল্টার রাখার জন্য এবং বাকি সব ফিল্টার মুছে ফেলার জন্য। যেমন, আপনি যদি Region ফিল্টার ধরে রেখে অন্য সকল ফিল্টার মুছে ফেলতে চান:
Total Sales by Region = CALCULATE(SUM(Sales[Amount]), ALLEXCEPT(Sales, Sales[Region]))
এটি Sales টেবিলের Amount এর যোগফল গণনা করবে, কিন্তু শুধুমাত্র Region কলামের ফিল্টার রাখবে, এবং বাকি সকল ফিল্টার বাদ দিবে।
CALCULATE ফাংশন DAX-এর সবচেয়ে শক্তিশালী এবং গুরুত্বপূর্ণ ফাংশনগুলির মধ্যে একটি, যা আপনাকে filter context তৈরি করার জন্য ব্যবহার করতে সহায়ক। এটি আপনাকে ডেটার উপর custom filters প্রয়োগ করার সুযোগ দেয়, যেমন একাধিক শর্তের ভিত্তিতে ক্যালকুলেশন পরিবর্তন করা। CALCULATE ব্যবহার করে আপনি aggregation, conditional calculations, time intelligence, এবং complex filtering করতে পারেন, যা আপনার বিশ্লেষণকে আরও উন্নত এবং কার্যকরী করে তোলে।
DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Power Pivot এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরি করতে ব্যবহৃত হয়। DAX ফাংশন ব্যবহার করে ডেটার context পরিবর্তন করা যেতে পারে, যার ফলে আপনি আরও সঠিক বিশ্লেষণ এবং রিপোর্ট তৈরি করতে পারেন। দুটি গুরুত্বপূর্ণ ফাংশন যা ডেটার কন্টেক্সট পরিবর্তন করতে সহায়ক, তা হলো FILTER এবং ALL।
এই প্রবন্ধে, আমরা FILTER এবং ALL ফাংশন ব্যবহার করে কিভাবে data context পরিবর্তন করা যায়, তা আলোচনা করব।
Data Context হল সেই পরিবেশ বা শর্ত যা দ্বারা কোনও DAX ফাংশন বা ক্যালকুলেশন প্রভাবিত হয়। এটি নির্ধারণ করে যে কোন ডেটা সেট ব্যবহার করে একটি ক্যালকুলেশন করা হবে। DAX-এ row context এবং filter context দুটি প্রধান ধরনের কন্টেক্সট রয়েছে।
FILTER এবং ALL ফাংশন এই কন্টেক্সট পরিবর্তন করতে ব্যবহৃত হয়, যা ডেটার সঠিক বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে সাহায্য করে।
FILTER ফাংশনটি একটি টেবিল বা কলাম থেকে ডেটাকে ফিল্টার করে, এবং এটি শর্ত (condition) বা কন্ডিশন অনুযায়ী নির্দিষ্ট ডেটা নির্বাচন করতে ব্যবহৃত হয়।
FILTER(<table>, <condition>)
ধরা যাক, আপনার Sales টেবিল রয়েছে এবং আপনি ২০২৪ সালের sales amount এর উপর ভিত্তি করে ক্যালকুলেশন করতে চান। এর জন্য FILTER ফাংশন ব্যবহার করা যেতে পারে:
Sales_2024 =
CALCULATE(
SUM(Sales[Sales Amount]),
FILTER(Sales, Sales[Year] = 2024)
)
এখানে:
FILTER ফাংশন কন্টেক্সটের উপর ভিত্তি করে ডেটা সিলেক্ট করে এবং সঠিক ফলাফল পাওয়ার জন্য ক্যালকুলেশন পরিবর্তন করে।
ALL ফাংশনটি একটি টেবিল বা কলামের filter context মুছে ফেলে, অর্থাৎ এটি একটি টেবিল বা কলাম থেকে সমস্ত ফিল্টার অপসারণ করে এবং পুরো ডেটাসেট ব্যবহার করার সুযোগ দেয়।
ALL(<table> | <column>)
ধরা যাক, আপনি চান Sales টেবিল থেকে সমস্ত ডেটা নিয়ে Total Sales হিসাব করতে, এমনকি অন্যান্য ফিল্টার থাকলেও:
Total_Sales_Without_Filter =
CALCULATE(
SUM(Sales[Sales Amount]),
ALL(Sales)
)
এখানে:
এটি এমন একটি ক্ষেত্রে সহায়ক যেখানে আপনি সমস্ত ডেটার ওপর ভিত্তি করে একটি ক্যালকুলেশন করতে চান, ফিল্টার প্রভাবিত না হওয়া উচিত।
DAX-এ FILTER এবং ALL ফাংশন ব্যবহার করে আপনি ডেটার কন্টেক্সট পরিবর্তন এবং কাস্টম ক্যালকুলেশন করতে পারেন। এই দুটি ফাংশনের মাধ্যমে আপনি:
FILTER ফাংশন ব্যবহার করে নির্দিষ্ট শর্ত বা কন্ডিশন অনুযায়ী ডেটাকে ফিল্টার করা যায়। এটি ফিল্টার কন্টেক্সট পরিবর্তন করে এবং শুধুমাত্র প্রয়োজনীয় ডেটাকে বিশ্লেষণ করার সুযোগ দেয়।
ALL ফাংশন ব্যবহার করে একটি টেবিল বা কলাম থেকে সমস্ত ফিল্টার অপসারণ করা যায়। এটি ডেটার উপর কোনও কন্টেক্সট প্রভাব না পড়তে দেয় এবং পুরো ডেটাসেট ব্যবহার করে ক্যালকুলেশন করতে সহায়ক।
উপরের দুটি ফাংশন ব্যবহারের মাধ্যমে, আপনি আপনার ডেটা বিশ্লেষণে আরও কাস্টম ক্যালকুলেশন তৈরি করতে পারেন, যা আপনার চাহিদা অনুযায়ী রিপোর্ট এবং ড্যাশবোর্ড তৈরি করতে সাহায্য করে।
FILTER এবং ALL ফাংশন DAX-এর শক্তিশালী টুল, যা data context পরিবর্তন করতে ব্যবহৃত হয়। FILTER ফাংশন ব্যবহার করে আপনি নির্দিষ্ট শর্তের ভিত্তিতে ডেটা ফিল্টার করতে পারেন, এবং ALL ফাংশন ব্যবহার করে আপনি কোনও ফিল্টারের প্রভাব অপসারণ করতে পারেন। এই দুটি ফাংশন ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করার ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ। DAX ব্যবহারকারীরা এই ফাংশনগুলির সাহায্যে আরও উন্নত বিশ্লেষণ এবং রিপোর্ট তৈরি করতে সক্ষম হন।
DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS) তে ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়। ড্যাক্সের VALUES এবং SELECTEDVALUE ফাংশন দুটি গুরুত্বপূর্ণ ফাংশন যা ডেটার বিভিন্ন ইউনিক মান বা সিলেক্টেড মান (selected values) বের করতে ব্যবহৃত হয়। এই ফাংশনগুলি বিশেষভাবে filter context এবং user selection এর ভিত্তিতে কার্যকরীভাবে কাজ করে।
VALUES ফাংশনটি একটি কলামে বা এক্সপ্রেশনে ইউনিক (distinct) মানের একটি তালিকা তৈরি করে। এটি সাধারণত filter context-এ ব্যবহৃত হয় এবং বিশেষভাবে relationships তৈরি করার সময়, একাধিক মান এবং একক মান বের করতে ব্যবহৃত হয়।
VALUES(<Column>)
VALUES ফাংশনটি একটি কলামের সমস্ত ইউনিক মানগুলি ফেরত দেয়। এটি খুবই উপকারী যখন আপনি ডেটা মডেলে একাধিক মানের উপর ভিত্তি করে পরবর্তী কাস্টম ক্যালকুলেশন করতে চান।
ধরা যাক, আপনার কাছে একটি Sales টেবিল আছে এবং আপনি জানাতে চান কতগুলি ইউনিক পণ্য বিক্রি হয়েছে, তাহলে আপনি VALUES ফাংশন ব্যবহার করতে পারেন।
Unique Products Sold = VALUES(Sales[ProductID])
এটি Sales টেবিলের ProductID কলামের ইউনিক মানগুলির একটি তালিকা তৈরি করবে।
VALUES ফাংশনটি এমন ক্ষেত্রেও ব্যবহৃত হয় যখন একটি একক মান নির্ধারণের চেষ্টা করা হয়। যদি ProductID কলামে একাধিক মান থাকে, তবে এটি সমস্ত ইউনিক মান ফিরিয়ে দেবে, কিন্তু যদি কলামে শুধুমাত্র একটি মান থাকে, তাহলে এটি একক মান ফিরিয়ে দেবে।
SELECTEDVALUE ফাংশনটি DAX-এ একটি খুবই কার্যকরী ফাংশন, যা একক মান বা নির্বাচিত মান ফিরিয়ে দেয়। এটি সাধারণত filters অথবা slicers এর সাথে ব্যবহৃত হয়, যখন একজন ব্যবহারকারী কোনও নির্দিষ্ট মান নির্বাচন করে এবং সেই মানটি ব্যবহার করা হয়।
SELECTEDVALUE(<Column>, <alternate_result>)
<Column>
: কলামটি যেটি থেকে মান নির্বাচন করা হবে।<alternate_result>
(optional): যদি একটি একক মান নির্বাচিত না হয়, তাহলে এটি একটি বিকল্প মান প্রদান করে।SELECTEDVALUE ফাংশনটি সাধারণত slicer বা filter ব্যবহারকারীদের পছন্দ অনুযায়ী একক মান নির্বাচন করার সময় ব্যবহৃত হয়। এটি খুবই উপকারী যখন আপনি একটি নির্দিষ্ট মান বের করতে চান, যেমন Power BI ড্যাশবোর্ডে ইউজার সিলেকশন বা filters এর সাথে কাজ করার সময়।
ধরা যাক, আপনি Sales টেবিলের Region কলামের উপর একটি slicer ব্যবহার করছেন এবং আপনি দেখতে চান যে ইউজার কোন অঞ্চলের বিক্রয় দেখতে চাচ্ছে:
Selected Region = SELECTEDVALUE(Sales[Region], "All Regions")
এটি যদি একটি একক Region নির্বাচন করা থাকে তবে সেই মান ফেরত দিবে, অন্যথায় এটি "All Regions" ফেরত দেবে।
SELECTEDVALUE ফাংশনটি সাধারণত single value নির্বাচন করার সময় ব্যবহৃত হয়, যেমন যখন আপনি চান যে একটি নির্দিষ্ট সিলেক্টেড মান (যেমন, Product Category, Region, ইত্যাদি) কে ফলস্বরূপ হিসেবে ব্যবহার করতে পারেন।
ফাংশন | কাজের ধরন | ব্যবহার উদাহরণ |
---|---|---|
VALUES | একটি কলামের সমস্ত ইউনিক মান ফিরিয়ে দেয়। একাধিক মানও ফিরিয়ে দিতে পারে। | যখন একাধিক ইউনিক মানের তালিকা বা distinct values দরকার। |
SELECTEDVALUE | একটি কলামের একক নির্বাচিত মান ফেরত দেয়, যদি একাধিক মান থাকে তবে একটি বিকল্প মান ফেরত দেয়। | যখন একক মান প্রয়োজন এবং একাধিক মান হলে বিকল্প মান বা ডিফল্ট মান দরকার। |
VALUES এবং SELECTEDVALUE DAX ফাংশন দুটি ব্যবহার করে আপনি একক বা ইউনিক মান বের করতে পারেন এবং ব্যবহারকারী নির্বাচনের ভিত্তিতে ডেটা বিশ্লেষণ করতে সক্ষম হন। VALUES ফাংশনটি একটি কলামের সকল ইউনিক মানের তালিকা ফেরত দেয়, তবে SELECTEDVALUE ফাংশনটি শুধুমাত্র একক মান ফেরত দেয় এবং একাধিক মান হলে একটি ডিফল্ট মান প্রদান করতে সক্ষম। এই ফাংশনগুলির মাধ্যমে আপনি Power BI বা Excel-এ আরও ইন্টার্যাকটিভ এবং কাস্টম বিশ্লেষণ তৈরি করতে পারেন, যা ব্যবসায়িক সিদ্ধান্ত গ্রহণের জন্য সহায়ক।
DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। REMOVEFILTERS এবং KEEPFILTERS ফাংশন দুটি অত্যন্ত গুরুত্বপূর্ণ টুল, যা filters নিয়ন্ত্রণ করার জন্য ব্যবহৃত হয়। এই ফাংশনগুলির মাধ্যমে আপনি ডেটা বিশ্লেষণের সময় কীভাবে ফিল্টার প্রভাবিত হবে তা নির্ধারণ করতে পারেন এবং ডেটার সঠিকতা এবং বিশ্লেষণ ক্ষমতা বজায় রাখতে পারেন।
ফিল্টার ব্যবস্থাপনা সঠিকভাবে করা গেলে, এটি ব্যবসায়িক সিদ্ধান্ত গ্রহণের জন্য খুবই গুরুত্বপূর্ণ তথ্য প্রদান করতে পারে। REMOVEFILTERS এবং KEEPFILTERS ব্যবহার করে আপনি যেভাবে ফিল্টারগুলি পরিচালনা করবেন তা আপনাকে আরও গভীর বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরিতে সহায়ক হতে পারে।
REMOVEFILTERS() ফাংশনটি ব্যবহার করে আপনি একটি টেবিল বা কলাম থেকে সব ফিল্টার সরিয়ে ফেলতে পারেন। এটি খুবই উপকারী যখন আপনি চান, একটি নির্দিষ্ট ক্যালকুলেশনে কোনো ফিল্টার প্রভাবিত না হোক বা ক্যালকুলেশনকে সাধারণ করতে।
REMOVEFILTERS(<table_or_column>)
<table_or_column>
: এখানে আপনি যে টেবিল বা কলাম থেকে ফিল্টার সরিয়ে ফেলতে চান, তা উল্লেখ করবেন।ধরা যাক, আপনার Sales টেবিল রয়েছে এবং আপনি Region কলামের উপর প্রভাবিত ফিল্টার সরিয়ে ফেলতে চান, তাহলে আপনি এই ফাংশন ব্যবহার করতে পারেন:
Total Sales Without Region Filter = CALCULATE(SUM(Sales[Amount]), REMOVEFILTERS(Sales[Region]))
এই ফাংশনটি Sales টেবিলের Region কলামের উপর কোনো ফিল্টার প্রভাব ফেলবে না এবং Sales[Amount] এর মোট মান হিসাব করবে।
KEEPFILTERS() ফাংশনটি যখন ব্যবহার করা হয়, এটি নির্দিষ্ট ফিল্টার বা শর্তগুলিকে বজায় রাখে, কিন্তু অন্য কোনো ফিল্টার পরিবর্তন বা হালকা ক্যালকুলেশন করতে দেয় না। এটি ফিল্টারিং ব্যবস্থাকে বজায় রেখে একটি কাস্টম ক্যালকুলেশন করতে সহায়ক।
KEEPFILTERS(<expression>)
<expression>
: এটি ফিল্টার বা শর্ত প্রয়োগ করতে হবে এমন অংশ বা ক্যালকুলেশন।ধরা যাক, আপনি Sales টেবিলের Amount কলামের উপর কাস্টম ক্যালকুলেশন করতে চান এবং শুধু Region ফিল্টার রাখতে চান। এই পরিস্থিতিতে, আপনি KEEPFILTERS ব্যবহার করতে পারেন:
Sales for Region = CALCULATE(SUM(Sales[Amount]), KEEPFILTERS(Sales[Region] = "East"))
এই ফাংশনটি শুধুমাত্র East অঞ্চলের ফিল্টার রেখে Sales[Amount] এর মোট মান নির্ধারণ করবে, অন্য কোন ফিল্টার প্রভাব ফেলবে না।
ফিচার | REMOVEFILTERS | KEEPFILTERS |
---|---|---|
ফিল্টার ব্যবস্থাপনা | সমস্ত ফিল্টার সরিয়ে ফেলবে | নির্দিষ্ট ফিল্টার বজায় রাখবে |
ব্যবহার ক্ষেত্র | যখন ফিল্টারকে সম্পূর্ণভাবে অপসারণ করতে হবে | যখন কিছু নির্দিষ্ট ফিল্টার থাকতে হবে |
ফলাফল | ফিল্টার হীন ক্যালকুলেশন | কাস্টম ফিল্টার ধরে রেখে ক্যালকুলেশন |
ধরা যাক, আপনি Sales টেবিল থেকে সমস্ত ফিল্টার সরিয়ে মোট বিক্রয় সংখ্যা বের করতে চান, তবে Region কলামের উপর ফিল্টার থাকতে পারে:
Total Sales Without Filters = CALCULATE(SUM(Sales[Amount]), REMOVEFILTERS(Sales))
এটি Sales টেবিলের সমস্ত কলামের ফিল্টার সরিয়ে Sales[Amount] এর মোট মান বের করবে।
ধরা যাক, আপনি শুধু East অঞ্চলের বিক্রয় জানাতে চান এবং অন্যান্য অঞ্চলের ফিল্টার রাখবেন না:
East Region Sales = CALCULATE(SUM(Sales[Amount]), KEEPFILTERS(Sales[Region] = "East"))
এটি শুধুমাত্র East অঞ্চলের বিক্রয় সংখ্যা বের করবে, এবং অন্য কোনো ফিল্টার প্রভাব ফেলবে না।
REMOVEFILTERS এবং KEEPFILTERS ফাংশনগুলি DAX এর অত্যন্ত গুরুত্বপূর্ণ টুলস যা ডেটা বিশ্লেষণের সময় ফিল্টার ব্যবস্থাপনা সহজ এবং কার্যকর করে। REMOVEFILTERS ব্যবহার করে আপনি ফিল্টার সরিয়ে ফেলতে পারেন এবং KEEPFILTERS ব্যবহার করে আপনি নির্দিষ্ট শর্ত বজায় রেখে ক্যালকুলেশন করতে পারেন। এগুলি ব্যবহারের মাধ্যমে আপনি আরো উন্নত এবং কাস্টম বিশ্লেষণ তৈরি করতে পারবেন, যা ডেটা বিশ্লেষণ এবং রিপোর্টিং প্রক্রিয়াকে আরো কার্যকরী করে তোলে।
Read more